In large enterprises, there is often a need to share data and generally intercommunicate between many operating systems, platforms, and applications. A stumbling block to the goal of intercommunication is the fact that each different computer system may represent messages using a different message protocol or physical “wire format” (i.e. manner of laying out a message on the wire).
For example, in a particular wire format, a message M1 may be defined to have the following structure:
Message M1field 1type integerlength 2offset 0field 2type stringlength 5offset 2field 3type doublelength 8offset 7
In another wire format, the same message M1 might have a different structure, e.g., where a delimiter is introduced between the fields and the message appears as a single string for example.
In a third wire format which uses tags, the message M1 may have still another structure in which tags (e.g. “<tagname>”) identify the separate fields.
Distinct wire formats may further differ in terms of numerous other characteristics such as byte alignment, padding characters, and sign conventions, to name but a few. Some of these differences may be due to the use of different platforms or different compilers on distinct machines for example. Disadvantageously, a target computing system using one wire format may be incapable of receiving or accurately representing the message M1 sent in another wire format without a conversion of the message into a wire format suitable for the target system.
As the number of message formats increases, so too does the complexity of introducing a new format, given that one must be able to convert the new format to each existing format and vice versa. Given N message formats, the conversion problem is essentially an N×N problem, which can be onerous to solve.
Beyond the messaging realm, any conversion between numerous alternative physical representations of the same underlying information suffers from the same problem. For example, two doctors may use different approaches for capturing patient information. One may use a proprietary PC-based database management system while another may use a Unix-based file system. In this case, inter-office sharing of patient records may be difficult even though the underlying patient information may have the same logical structure (e.g. a patient address having the usual fields, a medical history, etc.).
What is needed is a manner of modeling alternative physical representations of logically equivalent entities in electronic form which supports conversion between alternative physical representations, for use by a developer of computer-based tools for performing entity conversions for example.